package com.itheima.jobs;

import com.itheima.constant.RedisConstant;
import com.itheima.utils.QiniuUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import redis.clients.jedis.JedisPool;

import java.util.Set;

@Component("myjob")
public class MyJobs {

    // 操作 redis 数据库， 那么 就需要 有相关的  实例 对象
    @Autowired
    private JedisPool jedisPool;


    public void clearImages(){

        System.out.println("==== 调用 七牛云的工具类 去清理垃圾图片 ");


        // 取 集合的差集， 如何 取 呢 ？

        // 调用 sdiff 方法就可以 取到  差集

        Set<String> set = jedisPool.getResource().sdiff(RedisConstant.SETMEAL_PIC_RESOURCES,
                RedisConstant.SETMEAL_PIC_DB_RESOURCES);

        if(set!=null){

            // 遍历到的 picName ，也就是 在 七牛云中的  无效 图片，我们要删除
            for (String picName : set) {

                System.out.println("删除了 七牛云 空间的 无效图片 ：" + picName);
                //调用七牛云工具类的方法删除图片
                QiniuUtils.deleteFileFromQiniu(picName);

                //删除集合中的多余的图片,因为已经删除了
                jedisPool.getResource().srem(RedisConstant.SETMEAL_PIC_RESOURCES,picName);

            }
            
        }



    }
}
